home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / scsiDiskBoot / RCS / fsOpTable.c,v < prev    next >
Encoding:
Text File  |  1989-06-10  |  4.2 KB  |  250 lines

  1. head     1.7;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    mendel:1.7; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.7
  10. date     89.01.06.08.14.44;  author brent;  state Exp;
  11. branches ;
  12. next     1.6;
  13.  
  14. 1.6
  15. date     87.05.19.12.15.22;  author brent;  state Exp;
  16. branches ;
  17. next     1.5;
  18.  
  19. 1.5
  20. date     87.05.12.12.45.13;  author brent;  state Exp;
  21. branches ;
  22. next     1.4;
  23.  
  24. 1.4
  25. date     87.05.11.11.25.09;  author brent;  state Exp;
  26. branches ;
  27. next     1.3;
  28.  
  29. 1.3
  30. date     87.05.08.17.47.45;  author brent;  state Exp;
  31. branches ;
  32. next     1.2;
  33.  
  34. 1.2
  35. date     86.07.21.09.37.02;  author brent;  state Exp;
  36. branches ;
  37. next     1.1;
  38.  
  39. 1.1
  40. date     86.07.18.09.33.36;  author brent;  state Exp;
  41. branches ;
  42. next     ;
  43.  
  44.  
  45. desc
  46. @Boot device operation switches.
  47. @
  48.  
  49.  
  50. 1.7
  51. log
  52. @New include files and constants due to source reorganization
  53. @
  54. text
  55. @/* 
  56.  * fsOpTable.c --
  57.  *
  58.  *    The operation tables for the file system.  There are three types
  59.  *    tables: domain specific, file type specific, and device specific.
  60.  *
  61.  * Copyright 1986 Regents of the University of California
  62.  * All rights reserved.
  63.  */
  64.  
  65. #ifndef lint
  66. static char rcsid[] = "$Header: fsOpTable.c,v 1.6 87/05/19 12:15:22 brent Exp $ SPRITE (Berkeley)";
  67. #endif not lint
  68.  
  69.  
  70. #include "sprite.h"
  71. #include "boot.h"
  72. #include "fs.h"
  73. #include "fsOpTable.h"
  74. #include "fsDisk.h"
  75.  
  76. #ifdef SCSI_DISK_BOOT
  77. #include "devSCSIDisk.h"
  78. #endif
  79. #ifdef SCSI_TAPE_BOOT
  80. #include "devSCSITape.h"
  81. #endif
  82. #ifdef XYLOGICS_BOOT
  83. #include "devXylogicsDisk.h"
  84. #endif
  85. /*
  86.  * Raw, (ie. no understanding of an underlying filesystem block structure)
  87.  * device operations.  This interface is used when booting from tape.
  88.  *    FsRawDeviceRead
  89.  *    FsRawDeviceWrite
  90.  */
  91. FsRawDeviceOps fsRawDeviceOpsTable[] = {
  92.     /* dev type,    readWriteProc */
  93.  
  94. #ifdef SCSI_DISK_BOOT
  95.     {FS_DEV_SCSI_DISK, Dev_SCSIDiskIO},
  96. #else
  97.     {FS_DEV_SCSI_DISK, FsNoProc},
  98. #endif
  99.  
  100. #ifdef SCSI_TAPE_BOOT
  101.     {FS_DEV_SCSI_TAPE, Dev_SCSIRawTapeIO},
  102. #else
  103.     {FS_DEV_SCSI_TAPE, FsNoProc},
  104. #endif SCSI_TAPE_BOOT
  105.  
  106. #ifdef XYLOGICS_BOOT
  107.     {FS_DEV_XYLOGICS, Dev_XylogicsDiskIO},
  108. #else
  109.     {FS_DEV_XYLOGICS, FsNoProc},
  110. #endif XYLOGICS_BOOT
  111.  
  112. };
  113.  
  114. /*
  115.  * Device Block I/O operation table.  This is used when booting from disk.
  116.  *    FsBlockIOInit
  117.  *    FsBlockIO
  118.  */
  119. FsBlockOps fsBlockOpsTable[] = {
  120.     /* dev type,    initProc, readWriteProc */
  121. #ifdef SCSI_DISK_BOOT
  122.     { FS_DEV_SCSI_DISK, FsNoProc, Dev_SCSIDiskBlockIO },
  123. #else
  124.     { FS_DEV_SCSI_DISK, FsNoProc, FsNoProc },
  125. #endif
  126.  
  127.     { FS_DEV_SCSI_TAPE, FsNoProc, FsNoProc },
  128.  
  129. #ifdef XYLOGICS_BOOT
  130.     { FS_DEV_XYLOGICS, FsNoProc, Dev_XylogicsDiskBlockIO },
  131. #else
  132.     { FS_DEV_XYLOGICS, FsNoProc, FsNoProc },
  133. #endif
  134.  
  135. };
  136.  
  137. FsNoProc()
  138. {
  139.     return(FAILURE);
  140. }
  141.  
  142. NullProc()
  143. {
  144.     return(SUCCESS);
  145. }
  146. @
  147.  
  148.  
  149. 1.6
  150. log
  151. @Set it up for Xylogics
  152. @
  153. text
  154. @d12 1
  155. a12 1
  156. static char rcsid[] = "$Header: fsOpTable.c,v 1.5 87/05/12 12:45:13 brent Exp $ SPRITE (Berkeley)";
  157. a18 1
  158. #include "fsInt.h"
  159. @
  160.  
  161.  
  162. 1.5
  163. log
  164. @Working version for scsi disk and tape
  165. @
  166. text
  167. @d12 1
  168. a12 1
  169. static char rcsid[] = "$Header: fsOpTable.c,v 1.4 87/05/11 11:25:09 brent Exp $ SPRITE (Berkeley)";
  170. d23 1
  171. d25 2
  172. d28 4
  173. a31 1
  174.  
  175. d54 1
  176. a54 1
  177.     {FS_DEV_XYLOGICS, Dev_XylogicsIO},
  178. @
  179.  
  180.  
  181. 1.4
  182. log
  183. @Version for SCSI Disk, SCSI Tape, and Xylogics Disk
  184. @
  185. text
  186. @d12 1
  187. a12 1
  188. static char rcsid[] = "$Header: fsOpTable.c,v 1.3 87/05/08 17:47:45 brent Exp $ SPRITE (Berkeley)";
  189. d42 1
  190. a42 1
  191.     {FS_DEV_SCSI_TAPE, Dev_SCSITapeIO},
  192. @
  193.  
  194.  
  195. 1.3
  196. log
  197. @Added ifdefs to trim it down
  198. @
  199. text
  200. @d12 1
  201. a12 1
  202. static char rcsid[] = "$Header: fsOpTable.c,v 1.2 86/07/21 09:37:02 brent Exp $ SPRITE (Berkeley)";
  203. d35 1
  204. d37 3
  205. d47 6
  206. d69 7
  207. @
  208.  
  209.  
  210. 1.2
  211. log
  212. @No more blockIO initilaization routine
  213. @
  214. text
  215. @d12 1
  216. a12 1
  217. static char rcsid[] = "$Header: fsOpTable.c,v 1.1 86/07/18 09:33:36 brent Exp $ SPRITE (Berkeley)";
  218. d17 1
  219. d24 1
  220. d27 4
  221. a30 2
  222.  *      Raw, (ie. no understanding of an underlying filesystem block structure)
  223.  *      device operations.
  224. d32 2
  225. d35 8
  226. a42 2
  227. FsRawDeviceOps fsRawDeviceOpsTable[] = {
  228.     {FS_DEV_SCSI_DISK, Dev_SCSIIO},
  229. d46 1
  230. a46 2
  231.  * Device Block I/O operation table.  This table is sparse because not
  232.  * all devices support block I/O.
  233. d51 2
  234. d54 5
  235. @
  236.  
  237.  
  238. 1.1
  239. log
  240. @Initial revision
  241. @
  242. text
  243. @d12 1
  244. a12 1
  245. static char rcsid[] = "$Header: fsOpTable.c,v 1.20 86/07/11 13:56:05 brent Exp $ SPRITE (Berkeley)";
  246. d40 1
  247. a40 1
  248.     { FS_DEV_SCSI_DISK, Dev_SCSIDiskBlockIOInit, Dev_SCSIDiskBlockIO },
  249. @
  250.